#include <iostream>
#include <string>
// 张三  张四

// 命名空间
// 声明全部
using namespace std;
// 声明单个
using std::cout;

// 自己编写命名空间

// 学生管理系统
/*
登录
    name
    id
学生
    name
    id
*/
// 登录
namespace log_in{
    string name;
    string passwoed;
    int id;

};
// 学生
namespace student
{
    string name;
    int id;
};

// 如果声明了命名空间 则命名空间内的变量后续不需要加命名空间
/*
如果两个有相同变量的命名空间 都声明了  using namespace
那 后面 相同名字的变量 则不可以省略


:: 这个符号  域作用限定符
*/
using namespace log_in;
using namespace student;

int main(int argc, char const *argv[])
{
    log_in::name = "张三";
    passwoed = "张三的密码";
    log_in::id = 80;

    student::name = "李四";
    student::id = 60;
    
    cout << "姓名:" << log_in::name << " 学号:" << log_in::id << endl;
    cout << "姓名:" << student::name << " 学号:" << student::id << endl;
    
    return 0;
}

/*
命名空间重名

命名空间 和 命名空间 重名
命名空间 和 全局 重名
命名空间 和 局部 重名
    不管是上述 三种中的哪一种 都需要加上域作用限定符 来区分
*/
